package com.skillworld.webapp.model.tutorial;

import java.util.List;
import java.util.Locale;

import com.skillworld.webapp.model.tutorial.Tutorial.Status;
import com.skillworld.webapp.model.util.dao.GenericDao;

import es.udc.pojo.modelutil.exceptions.InstanceNotFoundException;

public interface TutorialDao extends GenericDao<Tutorial,Long>
{
	
	public List<Tutorial> search(List<String> keywords,
	        Long dept, Integer duration, Locale locale,
	        List<Status> status,
	        Long author, List<Long> nonAuthors, 
	        MarkFilter marked, 
	        Long notInCourse, 
	        TutorialOrder orderBy, 
	        int startIndex, int count);
	public long numberOfTutorials(List<String> keywords, 
	        Long dept, Integer duration, Locale locale, 
	        List<Status> status, 
	        Long author, List<Long> nonAuthors, 
	        MarkFilter marked, 
	        Long notInCourse);
	public List<Tutorial> findTutorialVersions(long originalId);
	public boolean existsTranslation(long originalId, Locale locale);
	public List<Tutorial> topTutorials(int count);
}
